package day0309;

import java.util.*;

public class Demo04 {

    public static void main(String[] args) {
        Map map = new HashMap();

        map.put("a", 1);
        map.put("b", 2);
        map.put("c", 3);
//        map.put("d", 4);

        /*
            迭代 map 集合
                entrySet
                keySet
                values
         */

        // 1. entrySet
//        Set set = map.entrySet();

        // 遍历 set 集合
//        for (Object obj : set) {
//            if (obj instanceof Map.Entry entry){
//                System.out.println(entry.getKey() + ", " + entry.getValue());
//            }
//        }
//        Iterator iterator = set.iterator();
//        while (iterator.hasNext()) {
//            Object next = iterator.next();
//            if (next instanceof Map.Entry entry) {
//                System.out.println(entry.getKey() + ", " + entry.getValue());
//            }
//        }

        // 2. keySet
        Set set = map.keySet();

//        for (Object key : set) {
//            System.out.println(key + ", " + map.get(key));
//        }

        Iterator iterator = set.iterator();
        while (iterator.hasNext()) {
            Object key = iterator.next();
            System.out.println(key + ", " + map.get(key));

            // 有问题的写法， 每一次 iterator.next() 都会获取下一个元素
//            System.out.println(iterator.next() + ", " + map.get(iterator.next()));
        }


        // 3. values
//        Collection values = map.values();

//        for (Object value : values){
//            System.out.println(value);
//        }

//        Iterator iterator = values.iterator();
//
//        while (iterator.hasNext()) {
//            Object value = iterator.next();
//            System.out.println(value);
//        }

    }
}
